/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Entidades.promethee;

/**
 *
 * @author Gabriel
 */
public class PrometheeI extends Promethee{

    public PrometheeI(double valores[][], double pesos[], int tipo[], int funcionPreferencia[], double p[], double q[], double sigma[]){
        super(valores, pesos, tipo, funcionPreferencia, p, q, sigma);
    }

    public double[] obtenerPreorden(double flujoPositivo[], double flujoNegativo[]) {
        double[] preorden= new double[flujoPositivo.length * 2];

        for(int i= 0; i<flujoPositivo.length; i++){
            int cantPref= 0;
            for(int j= 0; j<flujoPositivo.length; j++){
                if(i == j) continue;
                if((flujoPositivo[i] > flujoPositivo[j] && flujoNegativo[i] < flujoNegativo[j]) ||
                   (flujoPositivo[i] > flujoPositivo[j] && flujoNegativo[i] == flujoNegativo[j]) ||
                   (flujoPositivo[i] == flujoPositivo[j] && flujoNegativo[i] < flujoNegativo[j]))
                        cantPref++;
            }
            preorden[i*2]= i;
            preorden[i*2+1]= cantPref;
        }

        return ordenar(preorden);
    }
}
